An optical module of a communication system can send and/or receive data over an optical channel. The data can be coded by one or more FEC (Forward Error Correction) encoders prior to transmission over the optical channel. Such coding is performed because the optical channel distorts and adds noise to the transmitted data. The coding can enable the data to be recovered at a receiver even in the presence of impairments.
Performance of the coding can be determined based on whether the data can be recovered at the receiver. FEC codes with complex encoders and/or decoders can often achieve greater performance than codes with less complex FEC encoders and/or decoders.